package com.sc.nft.service;

import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.dto.PrizeDrawDTO;
import com.sc.nft.entity.dto.RaffleRouletteDTO;
import com.sc.nft.entity.vo.NumberOfDrawsVO;
import com.sc.nft.entity.vo.PrizeDrawVO;
import com.sc.nft.entity.vo.RaffleRouletteVO;

/**
 * 抽奖活动的奖品(PrizeDrawActivityAward)表服务接口
 *
 * @author wwc
 * @since 2023-08-22 14:07:07
 */
public interface PrizeDrawActivityAwardService {

    /**
     * 奖品轮盘
     *
     * @param raffleRouletteDTO
     * @return
     */
    RaffleRouletteVO raffleRoulette(RaffleRouletteDTO raffleRouletteDTO, UserInfo userInfo);

    /**
     * 抽奖
     *
     * @param prizeDrawDTO
     * @param user
     */
    PrizeDrawVO prizeDraw(PrizeDrawDTO prizeDrawDTO, UserInfo user);

    /**
     * 抽奖次数
     *
     * @param user
     * @return
     */
    NumberOfDrawsVO numberOfDraws(RaffleRouletteDTO raffleRouletteDTO,UserInfo user);
}
